package entity

// ReqPublicKey 获取公钥请求
type ReqPublicKey struct {
	Type string `form:"type" json:"type" binding:"required"` // 加密类型
}

// RspPublicKey 获取公钥应答
type RspPublicKey struct {
	Type      string `form:"type" json:"type"`             // 加密类型
	PublicKey string `form:"public-key" json:"public-key"` // 公钥
}

// ReqMsgCode 获取验证码请求
type ReqMsgCode struct {
	Mobile string `form:"mobile" json:"mobile" binding:"required"` // 手机号
}

// ReqSmsLoginCustomer 短信验证码登陆请求（用户侧）
type ReqSmsLoginCustomer struct {
	Mobile string `form:"mobile" json:"mobile" binding:"required"` // 手机号
	Code   string `form:"code" json:"code" binding:"required"`     // 验证码
}

// ReqPwdLoginCustomer 密码登陆请求（用户侧）
type ReqPwdLoginCustomer struct {
	Mobile   string `form:"mobile" json:"mobile" binding:"required"`     // 手机号
	Password string `form:"password" json:"password" binding:"required"` // 密码
}

// RspLoginCustomer 登陆应答（用户侧）
type RspLoginCustomer struct {
	Token  string `form:"token" json:"token"`   // token
	Expire int    `form:"expire" json:"expire"` // 过期时间
}

// ReqSmsLoginOperator 短信验证码登陆请求（管理侧）
type ReqSmsLoginOperator struct {
	Mobile string `form:"mobile" json:"mobile" binding:"required"` // 手机号
	Code   string `form:"code" json:"code" binding:"required"`     // 验证码
}

// ReqPwdLoginOperator 密码登陆请求（管理侧）
type ReqPwdLoginOperator struct {
	Mobile   string `form:"mobile" json:"mobile" binding:"required"`     // 手机号
	Password string `form:"password" json:"password" binding:"required"` // 密码
}

// RspLoginOperator 登陆应答（管理侧）
type RspLoginOperator struct {
	Token  string `form:"token" json:"token"`   // token
	Expire int    `form:"expire" json:"expire"` // 过期时间
}

// ReqChangePasswordCustomer 修改密码请求（用户侧）
type ReqChangePasswordCustomer struct {
	OldPassword string `form:"oldPassword" json:"oldPassword" binding:"required"` // 旧密码
	NewPassword string `form:"newPassword" json:"newPassword" binding:"required"` // 新密码
}

// ReqRetrievePasswordMsgVerCodeCustomer 重置密码请求（用户侧）
type ReqRetrievePasswordMsgVerCodeCustomer struct {
	Mobile   string `form:"mobile" json:"mobile" binding:"required"`     // 手机号
	Code     string `form:"code" json:"code" binding:"required"`         // 验证码
	Password string `form:"password" json:"password" binding:"required"` // 新密码
}

// ReqChangePasswordOperator 修改密码请求（管理侧）
type ReqChangePasswordOperator struct {
	OldPassword string `form:"oldPassword" json:"oldPassword" binding:"required"` // 旧密码
	NewPassword string `form:"newPassword" json:"newPassword" binding:"required"` // 新密码
}

// ReqRetrievePasswordMsgVerCodeOperator 重置密码请求（管理侧）
type ReqRetrievePasswordMsgVerCodeOperator struct {
	Mobile   string `form:"mobile" json:"mobile" binding:"required"`     // 手机号
	Code     string `form:"code" json:"code" binding:"required"`         // 验证码
	Password string `form:"password" json:"password" binding:"required"` // 新密码
}

// ReqBindMobileCustomerCheck 绑定手机号请求-校验密码（用户侧）
type ReqBindMobileCustomerCheck struct {
	Password string `form:"password" json:"password" binding:"required"` // 密码
}

// RspBindMobileCustomerCheck 绑定手机号应答-校验密码（用户侧）
type RspBindMobileCustomerCheck struct {
	Evidence string `form:"evidence" json:"evidence"` // 凭证
}

// ReqBindMobileCustomer 绑定手机号请求（用户侧）
type ReqBindMobileCustomer struct {
	Mobile   string `form:"mobile" json:"mobile" binding:"required"`     // 手机号
	Code     string `form:"code" json:"code" binding:"required"`         // 验证码
	Evidence string `form:"evidence" json:"evidence" binding:"required"` // 凭证
}
